-- Decompiled with the Synapse X Luau decompiler.
 --roblox对象管理器
local M = _G.CommonOHOH.class.new(script);
local inst2obj = {};
local obj_inst = {};
function M.AddInst(self, obj, inst)
	assert(obj, "param obj is nil");
	assert(inst, "param inst is nil");
	inst2obj[inst] = obj;
	obj_inst[obj] = obj_inst[obj] or {};
	obj_inst[obj][inst] = true;
end;
function M.DelInst(self, p5)
	assert(p5, "param inst is nil");
	local v2 = inst2obj[p5];
	if v2 then
		inst2obj[p5] = nil;
		obj_inst[v2][p5] = nil;
		if not obj_inst[v2] then
			obj_inst[v2] = nil;
		end;
	end;
end;
local l__pairs__3 = pairs;
function M.DelObject(self, obj)
	assert(obj, "param obj is nil");
	local v3 = obj_inst[obj];
	if v3 then
		for v4, v5 in l__pairs__3(v3) do
			inst2obj[v4] = nil;
		end;
		obj_inst[obj] = nil;
	end;
end;
function M.FindObject(self, inst)
	assert(inst, "param is nil");
	return inst2obj[inst];
end;
function M.GetInsts(self, obj)
	assert(obj, "param obj is nil");
	return obj_inst[obj];
end;

return M;
